$(function() {
	var _menus;
	 $.ajax({
						    type: "POST",
						    dataType: "json",
						    url: "login.do?method=getMenu&nowdate=" + new Date(),
						    success: function(data){
						    	_menus = data;
						    	InitLeftMenu(_menus);
							}
							});
			tabClose();
			tabCloseEven();
		});
// 初始化左侧
function InitLeftMenu(_menus) {
	$("#nav").accordion({
				animate : false
			});
	$.each(_menus.menus, function(i, n) {
		var menulist = '';
		menulist += '<ul>';
		$.each(n.menus, function(j, o) {
			menulist += '<li><div><a ref="'
					+ o.moduleId
					+ '" href="#" rel="'
					+ o.moduleUrl
					+ '" ><span class="icon icon-nav" >&nbsp;</span><span class="nav">'
					+ o.moduleName + '</span></a></div></li> ';
		});
		menulist += '</ul>';
		$('#nav').accordion('add', {
					title : n.moduleName,
					content : menulist,
					iconCls : 'icon icon-nav'
				});

	});

	$('.easyui-accordion li a').click(function() {
				var tabTitle = $(this).children('.nav').text();

				var url = $(this).attr("rel");
				var moduleId = $(this).attr("ref");

				addTab(tabTitle, url);
				$('.easyui-accordion li div').removeClass("selected");
				$(this).parent().addClass("selected");
			}).hover(function() {
				$(this).parent().addClass("hover");
			}, function() {
				$(this).parent().removeClass("hover");
			});

	// 选中第一个
	var panels = $('#nav').accordion('panels');
	var t = panels[0].panel('options').title;
	$('#nav').accordion('select', t);
}

function addTab(subtitle, url) {
	if (!$('#tabs').tabs('exists', subtitle)) {
		$('#tabs').tabs('add', {
					title : subtitle,
					content : createFrame(url),
					closable : true,
					icon : 'icon icon-nav'
				});
	} else {
		$('#tabs').tabs('select', subtitle);
		$('#mm-tabupdate').click();
	}
	tabClose();
}

function createFrame(url) {
	var s = '<iframe scrolling="auto" frameborder="0"  src="' + url
			+ '" style="width:100%;height:100%;"></iframe>';
	return s;
}

function tabClose() {
	/* 双击关闭TAB选项卡 */
	$(".tabs-inner").dblclick(function() {
				var subtitle = $(this).children(".tabs-closable").text();
				$('#tabs').tabs('close', subtitle);
			});
	/* 为选项卡绑定右键 */
	$(".tabs-inner").bind('contextmenu', function(e) {
				$('#mm').menu('show', {
							left : e.pageX,
							top : e.pageY
						});

				var subtitle = $(this).children(".tabs-closable").text();

				$('#mm').data("currtab", subtitle);
				$('#tabs').tabs('select', subtitle);
				return false;
			});
}
// 绑定右键菜单事件
function tabCloseEven() {
	// 刷新
	$('#mm-tabupdate').click(function() {
				var currTab = $('#tabs').tabs('getSelected');
				var url = $(currTab.panel('options').content).attr('src');
				$('#tabs').tabs('update', {
							tab : currTab,
							options : {
								content : createFrame(url)
							}
						});
			});
	// 关闭当前
	$('#mm-tabclose').click(function() {
				var currtab_title = $('#mm').data("currtab");
				$('#tabs').tabs('close', currtab_title);
			});
	// 全部关闭
	$('#mm-tabcloseall').click(function() {
				$('.tabs-inner span').each(function(i, n) {
							var t = $(n).text();
							$('#tabs').tabs('close', t);
						});
			});
	// 关闭除当前之外的TAB
	$('#mm-tabcloseother').click(function() {
				var nextall = $('.tabs-selected').nextAll();
				var prevall = $('.tabs-selected').prevAll();
				if (nextall.length == 0) {
					$('#mm-tabcloseleft').click();
				} else if (prevall.length == 0) {
					$('#mm-tabcloseright').click();
				} else {
					$('#mm-tabcloseright').click();
					$('#mm-tabcloseleft').click();
				}
			});
	// 关闭当前右侧的TAB
	$('#mm-tabcloseright').click(function() {
				var nextall = $('.tabs-selected').nextAll();
				if (nextall.length == 0) {
					// msgShow('系统提示','后边没有啦~~','error');
					$.messager.alert('提示', '到头了，后边没有啦~~', 'info');
					return false;
				}
				nextall.each(function(i, n) {
							var t = $('a:eq(0) span', $(n)).text();
							$('#tabs').tabs('close', t);
						});
				return false;
			});
	// 关闭当前左侧的TAB
	$('#mm-tabcloseleft').click(function() {
				var prevall = $('.tabs-selected').prevAll();
				if (prevall.length == 0) {
					$.messager.alert('提示', '到头了，前边没有啦~~', 'info');
					return false;
				}
				prevall.each(function(i, n) {
							var t = $('a:eq(0) span', $(n)).text();
							$('#tabs').tabs('close', t);
						});
				return false;
			});

	// 退出
	$("#mm-exit").click(function() {
				$('#mm').menu('hide');
			});
}

//提示信息
function showmsg(data){
	$.messager.show({
								title : "提示信息",
								msg : data,
								showType : "show",
								timeout : 3000
							});
}
//返回格式为yyyy-MM-dd的当前日期
function nowDate(){
		var md = new Date();
		var year = md.getFullYear();
		var month = md.getMonth() + 1;
		var day = md.getDate();
		var _date=year+"-"+month+"-"+day;
		return _date;
}
//返回格式为yyyy-MM的当前月
function nowMonth(){
		var md = new Date();
		var year = md.getFullYear();
		var month = md.getMonth() + 1;
		var _month=year+"-"+month;
		return _month;
}
/**
 * 清空指定表单中的内容,参数为目标form的id
 * 注：在使用Jquery EasyUI的弹出窗口录入新增内容时，每次打开必须清空上次输入的历史
 * 数据，此时通常采用的方法是对每个输入组件进行置空操作:$("#name").val(""),这样做，
 * 当输入组件比较多时会很繁琐，产生的js代码很长，这时可以将所有的输入组件放入个form表单
 * 中，然后调用以下方法即可。
 * 
 * @param  formId 将要清空内容的form表单的id
 */
function resetContent(formId) {
 var clearForm = document.getElementById(formId);
 if (null != clearForm && typeof(clearForm) != "undefined") {
  clearForm.reset();
 }
}
/**
 * 刷新DataGrid列表(适用于Jquery Easy Ui中的dataGrid)
 * 注：建议采用此方法来刷新DataGrid列表数据(也即重新加载数据)，不建议直接使用语句
 * $('#dataTableId').datagrid('reload');来刷新列表数据，因为采用后者，如果日后
 * 在修改项目时，要在系统中的所有刷新处进行其他一些操作，那么你将要修改系统中所有涉及刷新
 * 的代码，这个工作量非常大，而且容易遗漏；但是如果使用本方法来刷新列表，那么对于这种修
 * 该需求将很容易做到，而去不会出错，不遗漏。
 *
 * @param dataTableId 将要刷新数据的DataGrid依赖的table列表id
 */
function flashTable(dataTableId){
 $('#'+dataTableId).datagrid('reload');
}
/**
 * 取消DataGrid中的行选择(适用于Jquery Easy Ui中的dataGrid)
 * 注意：解决了无法取消"全选checkbox"的选择,不过，前提是必须将列表展示
 * 数据的DataGrid所依赖的Table放入html文档的最全面，至少该table前没有
 * 其他checkbox组件。
 *
 * @param dataTableId 将要取消所选数据记录的目标table列表id
 */
function clearSelect(dataTableId) {
 $('#'+dataTableId).datagrid('clearSelections');
 //取消选择DataGrid中的全选
 $("input[type='checkbox']").eq(0).attr("checked",false);
}
/**
 * 自适应表格的宽度处理(适用于Jquery Easy Ui中的dataGrid的列宽),
 * 注：可以实现列表的各列宽度跟着浏览宽度的变化而变化，即采用该方法来设置DataGrid
 * 的列宽可以在不同分辨率的浏览器下自动伸缩从而满足不同分辨率浏览器的要求
 * 使用方法：(如:{field:'ymName',title:'编号',width:fillsize(0.08),align:'center'},)
 *
 * @param percent 当前列的列宽所占整个窗口宽度的百分比(以小数形式出现，如0.3代表30%)
 *
 * @return 通过当前窗口和对应的百分比计算出来的具体宽度
 */
function fillsize(percent){
 var bodyWidth = document.body.clientWidth;
 return (bodyWidth-90)*percent;
 }